Method and apparatus for determining recipients of a sharing operation based on an indication associated with a tangible object

ABSTRACT

An apparatus, method, and computer program product are described that can receive a signal from a tangible object, where the signal includes an indication of an operation to be executed upon receipt of a user input applied by the tangible object, and that can determine the operation based on the indication. In this way, the user is not required to provide additional user input to define the particular operation that is desired. The apparatus may determine at least one recipient with whom data selected via a user input applied by the tangible object may be shared. The apparatus may further provide for the determination of an operation to be executed based on an identification of a selection of content and may provide for the association of the operation with the tangible object, such that subsequent user input applied via the tangible object causes execution of the operation.

TECHNOLOGICAL FIELD

Embodiments of the present invention relate generally to determiningrecipients of data to be shared in a sharing operation based on anindication received from a tangible object.

BACKGROUND

As digital information becomes more prevalent in society, the need toaccess and share such information is constantly growing. Devices forcapturing, creating, manipulating, and/or storing such informationabound, from digital cameras to cellular phones to laptop computers andother personal mobile devices. As a result, an increasing number ofpeople are becoming users of such devices.

In addition to being able to access information from such devices, usersalso desire to share information between devices and/or executeoperations accurately and efficiently with minimal user input. Forexample, a user may want to share a file with multiple recipients.

The use of tangible objects to provide inputs to a user device has alsoseen increasing popularity. A user may, for example, provide touchinputs to a touch screen display via a tangible object, such as astylus, to execute certain operation. In some cases, however, the usermay not have access to his or her own device, but may have access to hisor her tangible object.

Accordingly, it may be desirable to provide an improved mechanism forexecuting operations across different user devices using a tangibleobject.

BRIEF SUMMARY OF EXAMPLE EMBODIMENTS

Accordingly, embodiments of an apparatus, method, and computer programproduct are described that can determine recipients with whom dataselected via a user input applied by a tangible object may be shared. Inparticular, embodiments of an apparatus for determining recipients ofdata may include at least one processor and at least one memoryincluding computer program code. The at least one memory and thecomputer program code may be configured to, with the processor, causethe apparatus to receive an indication of information associated with atangible object, receive a user input via the tangible object selectingdata, determine at least one recipient based on the indication received,and provide for the data selected to be shared with the at least onerecipient in response to receipt of the indication and selection of thedata.

In some cases, the memory and computer program code may be configuredto, with the processor, cause the apparatus to communicate with a serverin response to receipt of the indication, where the at least onerecipient is accessible via the server based on the indication. The atleast one recipient may be related to a particular program. For example,the at least one recipient may be associated with an e-mail address,and/or the at least one recipient may be associated with a socialnetworking account. Furthermore, the at least one recipient may beassociated with the tangible object, and/or the at least one recipientmay be associated with a distribution list managed by a user of thetangible object.

In other embodiments, a method and a computer program product aredescribed for determining recipients of data by receiving an indicationof information associated with a tangible object; receiving a user inputvia the tangible object selecting data; determining at least onerecipient based on the indication received; and providing for the dataselected to be shared with the at least one recipient in response toreceipt of the indication and selection of the data.

Providing for the data selected to be shared may further comprisecommunicating with a server in response to receipt of the indication,where the at least one recipient is accessible via the server based onthe indication. In some cases, the at least one recipient may be relatedto a particular program. For example, the at least one recipient may beassociated with an e-mail address, and/or the at least one recipient maybe associated with a social networking account. The at least onerecipient may be associated with the tangible object, and/or the atleast one recipient may be associated with a distribution list managedby a user of the tangible object.

In still other embodiments, an apparatus is described for determiningrecipients of data. The apparatus may include means for receiving anindication of information associated with a tangible object; means forreceiving a user input via the tangible object selecting data; means fordetermining at least one recipient based on the indication received; andmeans for providing for the data selected to be shared with the at leastone recipient in response to receipt of the indication and selection ofthe data.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described the invention in general terms, reference will nowbe made to the accompanying drawings, which are not necessarily drawn toscale, and wherein:

FIG. 1 illustrates one example of a communication system according to anexample embodiment of the present invention;

FIG. 2 illustrates a schematic block diagram of an apparatus fordetermining operations to be executed based on an indication receivedfrom a tangible object and/or associating an operation to be executedwith a tangible object according to an example embodiment of the presentinvention;

FIG. 3 illustrates an apparatus configured to determine an operation tobe executed based on an indication received from a tangible objectaccording to an example embodiment of the present invention;

FIG. 4 illustrates an apparatus configured to determine an operation tobe executed based on an indication received from a tangible objectaccording to an example embodiment of the present invention in which theapparatus transmits an inquiry signal to the tangible object;

FIG. 5A illustrates the tangible object of FIGS. 3 and 4 transmitting asignal for which the indication is an identifier according to an exampleembodiment of the present invention;

FIG. 5B illustrates the tangible object of FIGS. 3 and 4 transmitting asignal for which the indication is a designation of an operationaccording to an example embodiment of the present invention;

FIG. 6 illustrates a schematic block diagram of the apparatus of FIGS. 3and 4 communicating with a server in response to receipt of the signalfrom the tangible object according to an example embodiment of thepresent invention;

FIG. 7 illustrates a schematic block diagram of the apparatus of FIGS. 3and 4 transmitting the selected data or information derived from thedata to a server according to an example embodiment of the presentinvention;

FIG. 8A illustrates a schematic block diagram of an apparatus configuredto directly send selected data to one or more recipients according to anexample embodiment of the present invention;

FIG. 8B illustrates a schematic block diagram of an apparatus configuredto communicate with a server in response to receipt of the indication,where the at least one recipient is accessible via the server, accordingto an example embodiment of the present invention;

FIG. 9 illustrates an apparatus for providing for determination of anoperation to be executed based on the identification and providing forassociation of the operation to be executed with a tangible objectaccording to an example embodiment of the present invention;

FIGS. 10A-10C illustrate schematic block diagrams of different scenariosfor providing for determination of an operation to be executed andproviding for association of the operation with a tangible object withand without communication between the apparatus and the server accordingto example embodiments of the present invention;

FIG. 11 illustrates a tangible object according to an example embodimentof the present invention;

FIG. 12 illustrates a flowchart of methods of determining an operationto be executed based on an indication received from a tangible object inaccordance with another example embodiment of the present invention;

FIG. 13 illustrates a flowchart of methods of determining at least onerecipient of data selected to be shared based on receipt of anindication of information associated with a tangible object inaccordance with another example embodiment of the present invention; and

FIG. 14 illustrates a flowchart of methods of providing fordetermination of an operation to be executed based on an identificationof a selection of content received and providing for association of theoperation to be executed with a tangible object in accordance withanother example embodiment of the present invention.

DETAILED DESCRIPTION

Some embodiments of the present invention will now be described morefully hereinafter with reference to the accompanying drawings, in whichsome, but not all, embodiments of the invention are shown. Indeed,various embodiments of the invention may be embodied in many differentforms and should not be construed as limited to the embodiments setforth herein; rather, these embodiments are provided so that thisdisclosure will satisfy applicable legal requirements. Like referencenumerals refer to like elements throughout. As used herein, the terms“data,” “content,” “information,” and similar terms may be usedinterchangeably to refer to data capable of being transmitted, receivedand/or stored in accordance with embodiments of the present invention.Thus, use of any such terms should not be taken to limit the spirit andscope of embodiments of the present invention.

Additionally, as used herein, the term ‘circuitry’ refers to (a)hardware-only circuit implementations (e.g., implementations in analogcircuitry and/or digital circuitry); (b) combinations of circuits andcomputer program product(s) comprising software and/or firmwareinstructions stored on one or more computer readable memories that worktogether to cause an apparatus to perform one or more functionsdescribed herein; and (c) circuits, such as, for example, amicroprocessor(s) or a portion of a microprocessor(s), that requiresoftware or firmware for operation even if the software or firmware isnot physically present. This definition of ‘circuitry’ applies to alluses of this term herein, including in any claims. As a further example,as used herein, the term ‘circuitry’ also includes an implementationcomprising one or more processors and/or portion(s) thereof andaccompanying software and/or firmware. As another example, the term‘circuitry’ as used herein also includes, for example, a basebandintegrated circuit or applications processor integrated circuit for amobile phone or a similar integrated circuit in a server, a cellularnetwork device, other network device, and/or other computing device.

As defined herein, a “computer-readable storage medium,” which refers toa physical storage medium (e.g., volatile or non-volatile memorydevice), can be differentiated from a “computer-readable transmissionmedium,” which refers to an electromagnetic signal.

A tangible user interface is a form of user interface in which a userinteracts with digital information using the physical environment. Forexample, a touch display, which may take the form of a table top, atablet computer, or a portable digital assistant (PDA), for example, maybe configured to allow a user to interact with data related to an object(e.g., a “tangible object”) placed on or near the display surface. Inother words, the display may be able to detect the presence of thetangible object, and the tangible object may in turn be used to provideuser inputs to the apparatus embodying the touch display to executecertain operations, such as to present data via the display, to allowthe user to view, modify, manipulate, or otherwise interact with thedata, and/or to transmit the data (e.g., selected files) to designatedrecipients.

Tangible objects may take many forms, from a digital pen or a stylus toa glove worn by a user to another user device, such as a cellulartelephone. For purposes of explanation, the description provided hereinuses the example of a tangible object that is embodied by a stylus;however, it is understood that any object that is configured to be usedby a user for interacting with a user device, such as via interactionwith a touch screen of the user device, to provide inputs for executingcertain operations may serve a tangible object.

In this regard, conventional tangible objects are typically passivedevices that are used to provide inputs to a user device, such as atablet computer, for executing operations. Such inputs may include theselection of certain data (e.g., through a touch input selecting aparticular file represented on the touch display); the designation of aparticular operation to execute (e.g., by applying two touch inputs inrapid succession to the represented file to open the correspondingdocument or selecting an option relating to the file; such as “Send” or“Copy”); the entry of text via touch gestures (e.g., strokes) thatrepresent a written letter or word or via selection of certain “keys”presented on a soft keyboard provided on the touch display (e.g., toprovide the e-mail address of a recipient to whom the selected file isto be sent); etc.

Thus, depending on the desired operation, a user may provide severalinputs using the tangible object to fully describe and effect theexecution of a single operation, such as an operation to send aparticular file to a group of recipients. In some cases, for example,where a group of recipients is large or the same operation is desired tobe executed with respect to multiple files, the application of multipleinputs for each desired operation can be burdensome to the user.Moreover, because the user is required to apply multiple inputs, therisk that one or more of the inputs may be incorrectly applied ormistakenly interpreted by the user device as a different input isaugmented, leading to further inefficiencies and user frustration. Inaddition, by associating a desired operation and/or a list of recipientsto receive a subsequent selection of a document with the tangibleobject, rather than with the apparatus, the tangible object may be usedto effect the same operation across a number of capable devices, and notjust the user's device.

Accordingly, embodiments of the apparatus, method, and computer programproduct described below provide for an apparatus that can receive asignal from a tangible object, where the signal includes an indicationof an operation to be executed upon receipt of a user input applied bythe tangible object, and that can determine the operation based on theindication. In this way, the user is not required to provide additionaluser input to define the particular operation that is desired. Forexample, in some embodiments, the apparatus, method, and computerprogram product described below can receive an indication of informationassociated with the tangible object and determine, based on theindication, at least one recipient with whom data selected via a userinput applied by the tangible object may be shared. In other words, therecipient(s) of the data would not need to be designated by the user viaseparate user inputs, but would rather be pre-associated with thetangible object, as described below. In still other embodiments, theapparatus, method, and computer program product may receive anindication of a selection of content (e.g., via interaction of thetangible object with the touch display of the user device) and may inturn provide for the determination of an operation to be executed basedon the indication and provide for the association of the operation withthe tangible object, such that subsequent user input applied via thetangible object causes execution of the operation.

FIG. 1, which provides one example embodiment, illustrates a blockdiagram of a mobile terminal 10 that would benefit from embodiments ofthe present invention. It should be understood, however, that the mobileterminal 10 as illustrated and hereinafter described is merelyillustrative of one type of device that may benefit from embodiments ofthe present invention and, therefore, should not be taken to limit thescope of embodiments of the present invention. As such, althoughnumerous types of mobile terminals, such as portable digital assistants(PDAs), mobile telephones, pagers, mobile televisions, gaming devices,laptop computers, cameras, tablet computers, touch surfaces, wearabledevices, video recorders, audio/video players, radios, electronic books,positioning devices (e.g., global positioning system (GPS) devices), orany combination of the aforementioned, and other types of voice and textcommunications systems, may readily employ embodiments of the presentinvention, other devices including fixed (non-mobile) electronic devicesmay also employ some example embodiments.

The mobile terminal 10 may include an antenna 12 (or multiple antennas)in operable communication with a transmitter 14 and a receiver 16. Themobile terminal 10 may further include an apparatus, such as a processor20 or other processing device (e.g., processor 70 of FIG. 2), whichcontrols the provision of signals to and the receipt of signals from thetransmitter 14 and receiver 16, respectively. The signals may include aproximity component and/or an orientation component, as described below.The signals may further include signaling information in accordance withthe air interface standard of the applicable cellular system, and alsouser speech, received data and/or user generated data. In this regard,the mobile terminal 10 is capable of operating with one or more airinterface standards, communication protocols, modulation types, andaccess types. By way of illustration, the mobile terminal 10 is capableof operating in accordance with any of a number of first, second, thirdand/or fourth-generation communication protocols or the like. Forexample, the mobile terminal 10 may be capable of operating inaccordance with second-generation (2G) wireless communication protocolsIS-136 (time division multiple access (TDMA)), GSM (global system formobile communication), and IS-95 (code division multiple access (CDMA)),or with third-generation (3G) wireless communication protocols, such asUniversal Mobile Telecommunications System (UMTS), CDMA2000, widebandCDMA (WCDMA) and time division-synchronous CDMA (TD-SCDMA), with 3.9Gwireless communication protocol such as evolved UMTS Terrestrial RadioAccess Network (E-UTRAN), with fourth-generation (4G) wirelesscommunication protocols (e.g., Long Term Evolution (LTE) or LTE-Advanced(LTE-A) or the like. As an alternative (or additionally), the mobileterminal 10 may be capable of operating in accordance with non-cellularcommunication mechanisms. For example, the mobile terminal 10 may becapable of communication in a wireless local area network (WLAN) orother communication networks.

In some embodiments, the processor 20 may include circuitry desirablefor implementing audio and logic functions of the mobile terminal 10.For example, the processor 20 may be comprised of a digital signalprocessor device, a microprocessor device, and various analog to digitalconverters, digital to analog converters, and other support circuits.Control and signal processing functions of the mobile terminal 10 areallocated between these devices according to their respectivecapabilities. The processor 20 thus may also include the functionalityto convolutionally encode and interleave message and data prior tomodulation and transmission. The processor 20 may additionally includean internal voice coder, and may include an internal data modem.Further, the processor 20 may include functionality to operate one ormore software programs, which may be stored in memory. For example, theprocessor 20 may be capable of operating a connectivity program, such asa conventional Web browser. The connectivity program may then allow themobile terminal 10 to transmit and receive Web content, such aslocation-based content and/or other web page content, according to aWireless Application Protocol (WAP), Hypertext Transfer Protocol (HTTP)and/or the like, for example.

The mobile terminal 10 may also comprise a user interface including anoutput device such as a conventional earphone or speaker 24, a ringer22, a microphone 26, a display 28, and a user input interface, all ofwhich are coupled to the processor 20. The user input interface, whichallows the mobile terminal 10 to receive data, may include any of anumber of devices allowing the mobile terminal 10 to receive data, suchas a keypad 30, a touch screen display (display 28 providing an exampleof such a touch screen display) or other input device. In embodimentsincluding the keypad 30, the keypad 30 may include the conventionalnumeric (0-9) and related keys (#, *), and other hard and soft keys usedfor operating the mobile terminal 10. Alternatively or additionally, thekeypad 30 may include a conventional QWERTY keypad arrangement. Thekeypad 30 may also include various soft keys with associated functions.In addition, or alternatively, the mobile terminal 10 may include aninterface device such as a joystick or other user input interface. Someembodiments employing a touch display, as described further below, mayomit the keypad 30 and any or all of the speaker 24, ringer 22, andmicrophone 26 entirely. The mobile terminal 10 further includes abattery 34, such as a vibrating battery pack, for powering variouscircuits that are required to operate the mobile terminal 10, as well asoptionally providing mechanical vibration as a detectable output.

The mobile terminal 10 may further include a user identity module (UIM)38. The UIM 38 is typically a memory device having a processor built in.The UIM 38 may include, for example, a subscriber identity module (SIM),a universal integrated circuit card (UICC), a universal subscriberidentity module (USIM), a removable user identity module (R-UIM), etc.The UIM 38 typically stores information elements related to a mobilesubscriber. In addition to the UIM 38, the mobile terminal 10 may beequipped with memory. For example, the mobile terminal 10 may includevolatile memory 40, such as volatile Random Access Memory (RAM)including a cache area for the temporary storage of data. The mobileterminal 10 may also include other non-volatile memory 42, which may beembedded and/or may be removable. The memories may store any of a numberof pieces of information, and data, used by the mobile terminal 10 toimplement the functions of the mobile terminal 10.

In some embodiments, the mobile terminal 10 may also include a camera orother media capturing element (not shown) in order to capture images orvideo of objects, people and places proximate to the user of the mobileterminal 10. However, the mobile terminal 10 (or even some other fixedterminal) may also practice example embodiments in connection withimages or video content (among other types of content) that are producedor generated elsewhere, but are available for consumption at the mobileterminal 10 (or fixed terminal).

An example embodiment of the invention will now be described withreference to FIG. 2, in which certain elements of an apparatus 50 fordetermining operations to be executed based on an indication receivedfrom a tangible object, determining recipients of data selected to beshared. and/or associating an operation to be executed with a tangibleobject are depicted. The apparatus 50 of FIG. 2 may be employed, forexample, in conjunction with the mobile terminal 10 of FIG. 1. However,it should be noted that the apparatus 50 of FIG. 2 may also be employedin connection with a variety of other devices, both mobile and fixed,and therefore, embodiments of the present invention should not belimited to application on devices such as the mobile terminal 10 ofFIG. 1. For example, the apparatus 50 may be employed on a personalcomputer, a tablet, a mobile touch screen display, or other userterminal. Moreover, in some cases, the apparatus 50 may be on a fixeddevice such as server or other service platform and the content may bepresented (e.g., via a server/client relationship) on a remote devicesuch as a user terminal (e.g., the mobile terminal 10) based onprocessing that occurs at the fixed device.

It should also be noted that while FIG. 2 illustrates one example of aconfiguration of an apparatus for determining operations to be executedand/or associating an operation to be executed with a tangible object,numerous other configurations may also be used to implement embodimentsof the present invention. As such, in some embodiments, although devicesor elements are shown as being in communication with each other,hereinafter such devices or elements should be considered to be capableof being embodied within a same device or element and, thus, devices orelements shown in communication should be understood to alternatively beportions of the same device or element.

Referring now to FIG. 2, the apparatus 50 may include or otherwise be incommunication with a processor 70, a user interface transceiver 72, acommunication interface 74, and a memory device 76. In some embodiments,the processor 70 (and/or co-processors or any other processing circuitryassisting or otherwise associated with the processor 70) may be incommunication with the memory device 76 via a bus for passinginformation among components of the apparatus 50. The memory device 76may include, for example, one or more volatile and/or non-volatilememories. In other words, for example, the memory device 76 may be anelectronic storage device (e.g., a computer readable storage medium)comprising gates configured to store data (e.g., bits) that may beretrievable by a machine (e.g., a computing device like the processor70). The memory device 76 may be configured to store information, data,content, applications, instructions, or the like for enabling theapparatus to carry out various functions in accordance with an exampleembodiment of the present invention. For example, the memory device 76could be configured to buffer input data for processing by the processor70. Additionally or alternatively, the memory device 76 could beconfigured to store instructions for execution by the processor 70.

The apparatus 50 may, in some embodiments, be a mobile terminal (e.g.,mobile terminal 10) or a fixed communication device or computing deviceconfigured to employ an example embodiment of the present invention.However, in some embodiments, the apparatus 50 may be embodied as a chipor chip set. In other words, the apparatus 50 may comprise one or morephysical packages (e.g., chips) including materials, components and/orwires on a structural assembly (e.g., a baseboard). The structuralassembly may provide physical strength, conservation of size, and/orlimitation of electrical interaction for component circuitry includedthereon. The apparatus 50 may therefore, in some cases, be configured toimplement an embodiment of the present invention on a single chip or asa single “system on a chip.” As such, in some cases, a chip or chipsetmay constitute means for performing one or more operations for providingthe functionalities described herein.

The processor 70 may be embodied in a number of different ways. Forexample, the processor 70 may be embodied as one or more of varioushardware processing means such as a coprocessor, a microprocessor, acontroller, a digital signal processor (DSP), a processing element withor without an accompanying DSP, or various other processing circuitryincluding integrated circuits such as, for example, an ASIC (applicationspecific integrated circuit), an FPGA (field programmable gate array), amicrocontroller unit (MCU), a hardware accelerator, a special-purposecomputer chip, or the like. As such, in some embodiments, the processor70 may include one or more processing cores configured to performindependently. A multi-core processor may enable multiprocessing withina single physical package. Additionally or alternatively, the processor70 may include one or more processors configured in tandem via the busto enable independent execution of instructions, pipelining and/ormultithreading.

In an example embodiment, the processor 70 may be configured to executeinstructions stored in the memory device 76 or otherwise accessible tothe processor 70. Alternatively or additionally, the processor 70 may beconfigured to execute hard coded functionality. As such, whetherconfigured by hardware or software methods, or by a combination thereof,the processor 70 may represent an entity (e.g., physically embodied incircuitry) capable of performing operations according to an embodimentof the present invention while configured accordingly. Thus, forexample, when the processor 70 is embodied as an ASIC, FPGA or the like,the processor 70 may be specifically configured hardware for conductingthe operations described herein. Alternatively, as another example, whenthe processor 70 is embodied as an executor of software instructions,the instructions may specifically configure the processor 70 to performthe algorithms and/or operations described herein when the instructionsare executed. However, in some cases, the processor 70 may be aprocessor of a specific device (e.g., a mobile terminal or networkdevice) adapted for employing an embodiment of the present invention byfurther configuration of the processor 70 by instructions for performingthe algorithms and/or operations described herein. The processor 70 mayinclude, among other things, a clock, an arithmetic logic unit (ALU) andlogic gates configured to support operation of the processor 70.

Meanwhile, the communication interface 74 may be any means such as adevice or circuitry embodied in either hardware or a combination ofhardware and software that is configured to receive and/or transmit datafrom/to a network and/or any other device or module in communicationwith the apparatus 50. In this regard, the communication interface 74may include, for example, an antenna (or multiple antennas) andsupporting hardware and/or software for enabling communications with awireless communication network. Additionally or alternatively, thecommunication interface 74 may include the circuitry for interactingwith the antenna(s) to cause transmission of signals via the antenna(s)or to handle receipt of signals received via the antenna(s). Forexample, the communication interface 74 may include one or moreantenna(s) configured to receive signals, such as radio frequency (RF)signals, Bluetooth Low Energy (LE) signals, or other signals via NearField Communication (NFC) protocol, as described in greater detailbelow. In some environments, the communication interface 74 mayalternatively or also support wired communication. As such, for example,the communication interface 74 may include a communication modem and/orother hardware/software for supporting communication via cable, digitalsubscriber line (DSL), universal serial bus (USB) or other mechanisms.

The user interface transceiver 72 may be in communication with theprocessor 70 to receive an indication of a user input and/or to causeprovision of an audible, visual, mechanical or other output to the user.As such, the user interface transceiver 72 may include, for example, akeyboard, a mouse, a joystick, a display, a touch screen(s), touchareas, soft keys, a microphone, a speaker, or other input/outputmechanisms. Alternatively or additionally, the processor 70 may compriseuser interface circuitry configured to control at least some functionsof one or more user interface elements such as, for example, a speaker,ringer, microphone, display, and/or the like. The processor 70 and/oruser interface circuitry comprising the processor 70 may be configuredto control one or more functions of one or more user interface elementsthrough computer program instructions (e.g., software and/or firmware)stored on a memory accessible to the processor 70 (e.g., memory device76, and/or the like).

In an example embodiment, the apparatus 50 may include or otherwise bein communication with a touch display 68 (e.g., the display 28). Indifferent example cases, the touch display 68 may be a two dimensional(2D) or three dimensional (3D) display. The touch display 68 may beembodied as any known touch screen display. Thus, for example, the touchdisplay 68 could be configured to enable touch recognition by anysuitable technique, such as resistive, capacitive, infrared, straingauge, surface wave, optical imaging, dispersive signal technology,acoustic pulse recognition, and/or other techniques. The user interfacetransceiver 72 may be in communication with the touch display 68 toreceive touch inputs at the touch display 68 and to analyze and/ormodify a response to such indications based on corresponding useractions that may be inferred or otherwise determined responsive to thetouch inputs.

In this regard, various indications of touch inputs may be received as aresult of touch events at the touch display 68. For example, a forceindication may be received, which is indicative of the amount of forceapplied due to contact with the touch display 68. Alternatively oradditionally, a position indication may be received (e.g., x-,y-coordinates) that describes the location of the contact.

With continued reference to FIG. 2, in an example embodiment, theapparatus 50 may include a touch screen interface 80. The touch screeninterface 80 may, in some instances, be a portion of the user interfacetransceiver 72. However, in some alternative embodiments, the touchscreen interface 80 may be embodied as the processor 70 or may be aseparate entity controlled by the processor 70. As such, in someembodiments, the processor 70 may be said to cause, direct, or controlthe execution or occurrence of the various functions attributed to thetouch screen interface 80 (and any components of the touch screeninterface 80) as described herein. The touch screen interface 80 may beany means such as a device or circuitry operating in accordance withsoftware or otherwise embodied in hardware or a combination of hardwareand software (e.g., processor 70 operating under software control, theprocessor 70 embodied as an ASIC or FPGA specifically configured toperform the operations described herein, or a combination thereof)thereby configuring the device or circuitry to perform the correspondingfunctions of the touch screen interface 80 as described herein. Thus, inexamples in which software is employed, a device or circuitry (e.g., theprocessor 70 in one example) executing the software forms the structureassociated with such means.

The touch screen interface 80 may be configured to receive an input inthe form of a touch event at the touch display 68, for example throughinteraction of a tangible object, such as a stylus, with a surface ofthe touch display. As such, the touch screen interface 80 may be incommunication with the touch display 68 to receive user inputs at thetouch display 68 and to modify a response to such inputs based oncorresponding user actions that may be inferred or otherwise determinedresponsive to the inputs. Following recognition of a touch event, thetouch screen interface 80 may be configured to determine aclassification of the touch event and provide a corresponding functionbased on the touch event in some situations.

In some embodiments, the touch screen interface 80 may include adetector 82, a display manager 84, and a gesture classifier 86. Each ofthe detector 82, the display manager 84, and the gesture classifier 86may be any device or means embodied in either hardware or a combinationof hardware and software configured to perform the correspondingfunctions associated with the detector 82, the display manager 84, andthe gesture classifier 86, respectively, as described herein. In anexemplary embodiment, each of the detector 82, the display manager 84,and the gesture classifier 86 may be controlled by or otherwise embodiedas the processor 70.

The detector 82 may be in communication with the touch display 68 toreceive user inputs in order to recognize and/or determine a touch eventbased on each input received at the detector 82. A touch event may bedefined as a detection of an object, such as a stylus, finger, pen,pencil, cellular telephone, digital camera, or any other mobile device(including the mobile terminal 10 shown in FIG. 1) or object, cominginto contact with a portion of the touch display in a manner sufficientto register as a touch. In this regard, for example, a touch event couldbe a detection of pressure on the surface of the touch display 68 abovea particular pressure threshold over a given area. Subsequent to eachtouch event, the detector 82 may be further configured to pass along thedata corresponding to the touch event (e.g., location of touch, lengthof touch, number of objects touching, touch pressure, touch area, speedof movement, direction of movement, length of delay, frequency of touch,etc.) to the gesture classifier 86 for gesture classification. As such,the detector 82 may include or be in communication with one or moreforce sensors configured to measure the amount of touch pressure (e.g.,force over a given area) applied as a result of a touch event, as anexample.

The gesture classifier 86 may be configured to recognize and/ordetermine a corresponding classification of a touch event. In otherwords, the gesture classifier 86 may be configured to perform gestureclassification to classify the touch event as any of a number ofpossible gestures. Some examples of recognizable gestures may include atouch, multi-touch, placement, stroke, character, symbol, shape, swipe,pinch event (e.g., a pinch in or pinch out), and/or the like.

A touch may be defined as a touch event that impacts a single area(without or with minimal movement on the surface of the touch display68) and then is removed. A multi-touch may be defined as multiple touchevents sensed concurrently (or nearly concurrently). A stroke event maybe defined as a touch event followed immediately by motion of the objectinitiating the touch event while the object remains in contact with thetouch display 68. In other words, the stroke event may be defined bymotion following a touch event thereby forming a continuous, movingtouch event defining a moving series of instantaneous touch positions(e.g., as a drag operation or as a flick operation). Multiple strokesand/or touches may be used to define a particular shape or sequence ofshapes to define a character. A pinch event may be classified as eithera pinch out or a pinch in (hereinafter referred to simply as a pinch). Apinch may be defined as a multi-touch, where the touch events causingthe multi-touch are spaced apart. After initial occurrence of themulti-touch event involving at least two objects, one or more of theobjects may move substantially toward each other to simulate a pinch.Meanwhile, a pinch out may be defined as a multi-touch, where the touchevents causing the multi-touch are relatively close together, followedby movement of the objects initiating the multi-touch substantially awayfrom each other. In some cases, the objects on a pinch out may be soclose together initially that they may be interpreted as a single touch,rather than a multi-touch, which then is modified by movement of twoobjects away from each other.

The gesture classifier 86 may also be configured to communicatedetection information regarding the recognition, detection, and/orclassification of a touch event to the display manager 84. The displaymanager 84 may be configured to provide control over modifications madeto that which is displayed on the touch display 68 based on thedetection information received from the detector 82 and gestureclassifications provided by the gesture classifier 86 in accordance withthe responses prescribed for each respective gesture classification andimplementation characteristic determined by the gesture classifier 86.In other words, the display manager 84 may configure the display (e.g.,with respect to the content displayed and/or the user interface effectspresented relative to the content displayed) according to the gestureclassification and implementation characteristic classificationdetermined for a given touch event that may be detected at the display.

Turning now to FIG. 3, in general, an apparatus 50, such as the mobileterminal 10 of FIG. 1, is provided that has (or is otherwise associatedwith) a touch display 68. As described above, the apparatus 50 maycomprise at least one processor (e.g., processor 70 of FIG. 2) and atleast one memory (e.g., memory device 76 of FIG. 2) including computerprogram code. The at least one memory and the computer program code maybe configured to, with the processor, cause the apparatus 50 to at leastreceive a signal 105 from a tangible object 100 proximate the apparatus.The signal 105 transmitted by the tangible object 100, which isrepresented by dashed-line arrow in FIG. 3, may include an indication ofan operation to be executed upon receipt of a user input applied to thetouch display 68 by the tangible object, as described below.

The at least one memory and the computer program code may be furtherconfigured to, with the processor, cause the apparatus 50 to determinethe operation based on the indication. Accordingly, the at least onememory and the computer program code may be configured to, with theprocessor, cause the apparatus 50 to receive a user input 110 viainteraction with the tangible object 100 and to execute the operationbased on the user input that is received. In the depicted example, thetangible object 100 is used to apply a single-touch input 110 to thetouch display 68 to select a document represented by an icon 120.However, in other examples, the user input may be a stroke (e.g.,highlighting certain text) or a gesture selecting data (e.g., a circulargesture made around particular content presented on the display).

In other words, at least some embodiments of the present invention areconfigured to determine which operation is to be executed based on theindication that is embedded or otherwise described by the signal 105,without the need for a separate or further user input designating thedesired operation. In this way, upon receipt of a user input 110 (e.g.,a user input selecting the data to be manipulated), the operation may beexecuted automatically, without additional input from the user.

For example, with a conventional apparatus, a user who wishes to post afile to his or her website would typically be required to apply a userinput to select the file by touching the tangible object to the touchdisplay to select a representation of the file that is presented on thetouch display. Upon selection of the file (e.g., through a single-touchinput), several options for operations that can be executed may bepresented to the user via the touch display, such as “Open,” “Copy,”“Post to Website,” and “Send to Contact,” for example. The user wouldthen be required to apply an additional, separate user input to selectthe desired operation (in this example, “Post to Website”). Further userinputs may also be required, such as specifying the particular webaddress for the website to which the file is to be posted.

Embodiments of the present invention, in contrast, eliminate the needfor the user to provide user inputs designating or defining theoperation to be executed. Rather, the desired operation may bepre-associated with the tangible object 100 and may be communicated tothe apparatus 50 via the indication of the signal 105, such that uponreceipt of the user input selecting the particular content on which theoperation is to be executed, the apparatus may simply execute theoperation absent further intervention by the user.

In this regard, embodiments of the present invention may be configuredto detect a signal 105 transmitted by the tangible object 100 when thetangible object 100 is in contact with or near the apparatus 50. Forexample, the apparatus 50 in the depicted embodiment of FIG. 3 mayinclude or be in communication with an antenna 12 on the touch display68 that is configured to receive radio frequency (RF), Bluetooth LowEnergy (LE), or other Near Field Communication (NFC) signals and relaythem to the processor. The signal 105 may be received by the apparatus50 regardless of whether the tangible object 100 is in contact with thetouch display 68 (e.g., based solely on a proximity to the apparatus).Thus, the signal 105 (and/or the indication of the operation carried bythe signal) may be received prior to, simultaneously with, or subsequentto receipt of the user input 110, depending on the circumstances of theinteraction between the tangible object 100 and the touch display 68 andthe specific configurations of the tangible object and the apparatus 50.

The signal 105 may be received from the tangible object 100 based solelyon the fact that the tangible object 100 has come within a certaindistance of the apparatus 50 (or the antenna 12 embodied by orassociated with the apparatus), or the signal 105 may be received inresponse to an inquiry signal. In the case of the former, the tangibleobject 100 may be configured to continuously transmit a signal 105including the indication of the operation to be executed. Thus, once thetangible object 100 is within range of the apparatus 50 (or, morespecifically, a receiver, such as the antenna 12, of the apparatus), thesignal 105 may be received. Alternatively, the apparatus 50 may beconfigured to periodically or continuously transmit an inquiry signal140 (shown in FIG. 4) that requests transmission, by any device in thevicinity, of a response signal in the form of the signal 105. In thiscase, the tangible object 100 need not be constantly transmitting thesignal 105 including the indication, but rather may transmit the signalin response to a request. Furthermore, in some cases, the inquiry signal140 may be continuously transmitted, whereas in other cases the inquirysignal may be transmitted in response to the receipt of the touch input110. In cases where the inquiry signal 140 is not continuouslytransmitted, the transmission of the inquiry signal may be invoked bythe receipt of a touch input 110 at the touch display 68.

The indication carried by the signal 105 may describe the operation tobe executed in several different ways. Turning to FIG. 5A, for example,the indication 150 may include an identifier of the tangible object 100or an identifier of a user associated with the tangible object. Forexample, the indication may include a unique alphanumeric identifierthat has been assigned to the tangible object 100 and/or a user account(e.g., a social networking account) that is associated with the tangibleobject.

In some cases, the memory and computer program code may be configuredto, with the processor, cause the apparatus 50 to communicate with aserver 190 in response to receipt of the signal 105, as shown in FIG. 6.For example, the apparatus 50 may transmit (e.g., via the antenna) afirst signal 115 carrying or otherwise including the indication 150 thatwas received by the apparatus via the signal 105 (FIG. 3) to the server190. The server 190 may, in turn, use the indication 150 to identify theoperation to be executed and may then transmit a second signal 125including designation of the operation 160 back to the apparatus 50. Forexample, in the case where the indication 150 includes an identifier ofthe tangible object 100 or a user associated with the tangible object,the server 190 may be configured to access a look-up table and toidentify an operation 160 that corresponds to the particular identifierof the indication. The operation may be pre-associated with theidentifier and defined in the look-up table or other database residingin a memory of the server 190 or in a memory accessible to the server,as described in greater detail below. Thus, in some embodiments, theapparatus 50 is caused to determine the operation based on theindication by communicating the indication 150 to a server 190.

In other cases, shown in FIG. 5B, the indication 150 designates theoperation to be executed. In other words, the indication 150 directlyidentifies the operation to be executed. The apparatus 50 may determinethe operation based on the indication without further reference to aserver or device. For example, the indication 150 may include anidentifier of the particular operation, and the apparatus 50 may beconfigured to determine the operation designated by the identifier viathe memory of the apparatus. As another example, the identifier or otherdesignation of the operation in the indication 150 may directly invokeexecution of the operation upon receipt of the user input. In othercases, the apparatus 50 may communicate with a server or other remotedevice to determine the operation designated by the indication.

As noted above, the user input 110 may, in some embodiments, comprisethe selection of data, such as the selection of a particular documentcorresponding an icon 120 presented on the touch display 68, as depictedin FIG. 3. The memory and computer program code may be configured to,with the processor, cause the apparatus 50 to transmit the selected data170 to a server 190 (e.g., via a transmission signal 135), as shown inFIG. 7. In other words, the apparatus 50 may determine that theoperation described by the indication received via the signal 105 inFIG. 3 is to transmit the data selected via the user input 110 to theserver 190. The server 190 may, in turn, execute further operations onthe data 170 received from the apparatus 50. For example, in some cases,the server 190 may, upon receiving the selected data 170, send the dataor copies of the data to one or more recipients 180 (such as recipientsR1, R2, and R3) via a distribution signal 145.

Similarly, the memory and computer program code may be configured to,with the processor, cause the apparatus 50 to transmit informationderived from the selected data 170 to the server 190, rather than thecomplete data. In other words, in the case where the selected data 170is a file, the apparatus 50 may derive certain information from thefile, including displayed data and/or metadata of other data that maynot be displayed but is systematically associated with the data capturedby the input selection, such as the author's name and contactinformation. Rather than transmitting the entire file to the server 190,apparatus 50 may transmit the derived information 172 (in this example,the author's name and contact information) via the transmission signal135 to the server 190. The server 190 may then execute some otheroperation using the derived information 172 received. For example, theserver 190 may transmit the author's name and contact information 172 toone or more recipients 180 (such as recipients R1, R2, and R3) via thedistribution signal 145 and may add the information to each recipient'slist of contacts.

Referring again to FIG. 3, each indication may be associated with aparticular tangible object 100. Thus, the indication of the operation tobe executed may be independent of the apparatus 50 determining theindicated operation and executing the operation, but rather may becarried by and relate back to the tangible object 100. In this way, auser may be able to have the same operation (e.g., the indicatedoperation) executed on multiple devices, without providing user inputdefining the desired operation, by merely using the same tangible object100 to apply the user input to any of the multiple devices.

In some embodiments, the indication 150 that is provided to theapparatus 50 via the signal 105 (FIG. 3) relates to sharing of data withvarious recipients, where the data that is selected via subsequent userinputs applied by the tangible object 100. Thus, regardless of how theindicated operation is determined, the end result is the sending ofcertain data (e.g., selected via the user's interaction with the touchdisplay 68 using the tangible object 100) to one or more predeterminedrecipients. In other words, the memory and computer program code may beconfigured to, with the processor, cause the apparatus 50 to receive anindication 150 of information associated with a tangible object 100 andto receive a user input 110 via the tangible object selecting data, suchas data represented by a particular icon 120 presented on a touchdisplay 68. The memory and computer program code may be furtherconfigured to, with the processor, cause the apparatus 50 to determineat least one recipient based on the indication 150 received and toprovide for the data selected to be shared with the at least onerecipient in response to receipt of the indication 150 and selection ofthe data.

Referring to FIG. 8A, the apparatus 50 may be configured such that theselected data 170 is directly sent (e.g., via distribution signals 145)to the one or more recipients 180, for example, using e-mail, via amessaging service, or through a social networking account, as describedbelow. Alternatively, another device, such as a server, may be used bythe apparatus 50 as an intermediary to provide for the data 170 to beshared with the recipient(s) 180. With reference to FIG. 8B, forexample, the memory and computer program code may be configured to, withthe processor, cause the apparatus 50 to communicate with a server 190in response to receipt of the indication 150, such as via a transmissionsignal 135. The at least one recipient 180 may be accessible via theserver 190 based on the indication 150. For example, the indication 150may include information describing the recipients 180, such as e-mailaddresses of the recipients or other contact information that the server190 can use to share the selected data 170 with each recipient (e.g.,via the distribution signal 145). In some cases, the apparatus 50 maycommunicate the indication itself (including information identifying therecipients, as well as possibly other information) along with the datato the server 190, whereas in other cases the apparatus may provideinstructions 152 derived from the information in the indication 150 forhow the server 190 is to accomplish the sharing of the data (e.g., towhich recipients the data should be sent and/or how to communicate withthose recipients).

In this regard, the at least one recipient 180 may be related to aparticular program. For example, the at least one recipient 180 may beassociated with an e-mail address, as noted above, or the at least onerecipient may be associated with a social networking account orpresence, such as a Facebook® account, a Twitter® account, a LinkedIn®account, or any other account related to an online service, platform, orwebsite for building social and professional networks and relationships.This may include non-traditional online services or platforms, such asan online public mural or collage that is accessible to online users andto which users can add content with or without a dedicated “account”specific to that service. In some cases, the at least one recipient 180may be associated with the tangible object 100. For example, the atleast one recipient may be included in a list of contacts that ispredefined by the user and associated with the tangible object 100, asdescribed in greater detail below. In still other cases, the at leastone recipient 180 may be associated with a distribution list managed bya user of the tangible object 100. For example, the user may be anotheradministrator of the tangible object or a remote third party (e.g.,where the distribution list is associated with the tangible object butis managed by the remote third party). The distribution list may residein a memory of the tangible object 100 itself, or the tangible objectmay hold an identifier or other descriptive information that can be usedby the apparatus 50 or a device in communication with the apparatus(such as the server 190 of FIG. 8B) to access the distribution list.

Turning to FIG. 9, still other embodiments of the present inventionprovide an apparatus 200 comprising at least one processor and at leastone memory including computer program code, where the memory andcomputer program code are configured to, with the processor, cause theapparatus 200 to receive an identification of a selection of content,provide for determination of an operation to be executed based on theidentification, and provide for association of the operation to beexecuted with a tangible object 100, such that subsequent user inputapplied via the tangible object causes execution of the operation.

For example, a user may use the tangible object 100 to apply a userinput 210 to the surface of a touch display 68 to select content 215presented on the display, such as an e-mail address. The user input 210may, for example, comprise a touch gesture that encircles the content215, as shown. Thus, in some embodiments, the identification of aselection of content 215 may be the selected content itself (e.g., thee-mail address) or information describing the content. Upon receipt ofthe identification, the apparatus 200 may, in turn, be caused to providefor determination of the operation to be executed based on theidentification by communicating the identification 220 or informationderived from the identification to a server 290, such as via a signal225, as shown in FIG. 10A. Furthermore, in some cases, the apparatus 200may be caused to provide for association of the operation with thetangible object by communicating the identification 220 to the server290.

In other words, the server 290 may, in some cases, be configured todetermine which operation is to be executed and/or to associate thatoperation with the tangible object 100 based on the identification ofthe selection of content or other information that is communicated fromthe apparatus 200 to the server 290. Thus, the server 290 maycommunicate directly with the tangible object 100 in some embodiments toassociate the operation 230 that is determined with the tangible object(such as via a signal 235). In other cases, the server 290, upon makingthe determination, may communicate the operation 230 back to theapparatus 200, and the apparatus 200 may communicate with the tangibleobject 100 to make the association (e.g., via a signal 245), as shown inFIG. 10B. In still other cases, the apparatus 200 may determine theoperation to be executed based on the identification 220, as describedin greater detail below, and the apparatus may then be caused tocommunicate the operation 230 to the server 290 such that the server maycommunicate directly with the tangible object 100 to accomplish theassociation (FIG. 10A).

In other embodiments, a server may not be involved in determining theoperation or associating the operation with the tangible object. Rather,the apparatus 200 may, upon receipt of the identification of theselection of content, determine the operation and associate theoperation with the tangible object, such that subsequent user inputapplied via the tangible object causes execution of that operation.

In still other cases, the apparatus 200 may be configured to communicatean identification 220 of the selection of content to the tangible object100 (e.g., via a signal 225), as shown in FIG. 10C. The tangible object100 may, in turn, be configured to receive the identification 220, toprovide for determination of the operation to be executed based on theidentification, and to provide for association of the operation to beexecuted with itself (the tangible object).

In other words, in some embodiments, the apparatus 50 shown in FIG. 2,which includes a processor and at least one memory including computerprogram code, may be the tangible object 100 of FIG. 10C. In otherembodiments, the apparatus 50 shown in FIG. 2, which includes aprocessor and at least one memory including computer program code, maybe the apparatus 200 shown in FIGS. 9 and 10B. In still otherembodiments, the apparatus 50 shown in FIG. 2, which includes aprocessor and at least one memory including computer program code, maybe the server 290 shown in FIGS. 10A and 10B.

Regardless of which device (the tangible object 100, the apparatus 200,or the server 290) is acting as the apparatus as described above, thememory and computer program code may be configured to, with theprocessor, cause the apparatus to determine a type of the content 215selected, and the operation to be executed may be determined based onthe type of content. For example, the type of content may be associatedwith a predefined operation. The content 215 may, for example, be aparticular e-mail address, as shown in FIG. 9, and thus the type ofcontent (an e-mail address) may be associated with an operationcomprising the sending, via e-mail, of data to the recipient describedby the particular e-mail address. As another example, the contentselected may be a particular Uniform Resource Locator (URL) identifyinga website blog. The type of content (a URL) may be associated with thepredefined operation of posting data to the blog, such that subsequentuser input applied via the tangible device 100 (e.g., applied to theapparatus 50 of FIG. 3) selecting certain data may serve to post theselected data to the blog. As yet another example, the content selectedmay be an icon representing a particular program, such as an imageeditor or a music player, and the type of content (a launchable program)may be associated with the predefined operation of opening datasubsequently selected via the tangible object using that program.

In some embodiments, the memory and computer program code may beconfigured to, with the processor, cause the apparatus to enter atraining mode. The memory and computer program code may further beconfigured to, with the processor, cause the apparatus to provide fordetermination of the operation to be executed and to provide forassociation of the operation to be executed with the tangible object inresponse to entry into the training mode. In other words, the tangibleobject 100 may restrict forming an association with the determinedoperation to circumstances in which the apparatus (e.g., the apparatus200, the server 290, or the tangible object 100) has entered thetraining mode. The training mode may be entered, for example, via asetting that is selected on the tangible object 100 (such as throughmanipulation of a hard button or switch provided on the tangible object)or on the apparatus. One example of a tangible object 100 with a hardswitch 102 is shown in FIG. 11.

Once in the training mode, for example, the user may create a group ofrecipients with whom the user wishes to share content by circling thegroup members' e-mail addresses. The user may further label the group ofselected recipients (e.g., as “Coworkers”) by “writing” on the surfaceof the touch display or typing a name for the group via the tangibleobject. The defined group and operation (e.g., sharing data subsequentlyselected via the tangible object with the defined group of recipients)may then be associated with the tangible object, as described above. Insome cases, multiple groups of recipients may be defined in the trainingmode, and a particular group of recipients may be selected by the uservia manipulation of a hard button or switch 102 (FIG. 11) provided onthe tangible object.

In some cases, data may be shared by assigning a particular sharingprogram to the tangible object (thereby associating the program with thetangible object). For example, a social networking program may beassociated with the tangible object, such that subsequent data selectedvia the tangible object may be posted to the user's social networkingaccount to be viewable and/or accessible by those to whom the user haspreviously provided rights through the social networking service.

FIGS. 12, 13, and 14 illustrate flowcharts of systems, methods, andcomputer program products according to example embodiments of theinvention. It will be understood that each block of the flowcharts, andcombinations of blocks in the flowcharts, may be implemented by variousmeans, such as hardware, firmware, processor, circuitry, and/or otherdevices associated with execution of software including one or morecomputer program instructions. For example, one or more of theprocedures described above may be embodied by computer programinstructions. In this regard, the computer program instructions whichembody the procedures described above may be stored by a memory deviceof an apparatus employing an embodiment of the present invention andexecuted by a processor in the apparatus. As will be appreciated, anysuch computer program instructions may be loaded onto a computer orother programmable apparatus (e.g., hardware) to produce a machine, suchthat the resulting computer or other programmable apparatus implementsthe functions specified in the flowchart block(s). These computerprogram instructions may also be stored in a computer-readable memorythat may direct a computer or other programmable apparatus to functionin a particular manner, such that the instructions stored in thecomputer-readable memory produce an article of manufacture the executionof which implements the function specified in the flowchart block(s).The computer program instructions may also be loaded onto a computer orother programmable apparatus to cause a series of operations to beperformed on the computer or other programmable apparatus to produce acomputer-implemented process such that the instructions which execute onthe computer or other programmable apparatus provide operations forimplementing the functions specified in the flowchart block(s).

Accordingly, blocks of the flowcharts support combinations of means forperforming the specified functions, combinations of operations forperforming the specified functions, and program instruction means forperforming the specified functions. It will also be understood that oneor more blocks of the flowcharts, and combinations of blocks in theflowcharts, can be implemented by special purpose hardware-basedcomputer systems which perform the specified functions, or combinationsof special purpose hardware and computer instructions.

In this regard, one embodiment of a method for determining an operationbased on an indication received via a tangible object, as shown in FIG.12, includes receiving a signal from a tangible object at Block 300,wherein the signal includes an indication of an operation to be executedupon receipt of a user input applied by the tangible object. The methodfurther includes determining, via a processor, the operation based onthe indication at Block 310, receiving a user input via interaction withthe tangible object at Block 320, and executing the operation based onthe user input that is received at Block 330. In some cases, theoperation may be executed automatically upon receipt of the user input.

The indication may comprise an identifier of the tangible object or auser associated with the tangible object, as described above. In othercases, the indication may designate the operation to be executed.Determining the operation based on the indication may, in some cases,comprise communicating with a server in response to receipt of thesignal at Block 340. Moreover, in some cases where the user inputcomprises selection of data, the method may further include transmittingthe data selected to a server or transmitting information derived fromthe data selected to the server at Block 350.

Turning to FIG. 13, another embodiment of a method for determining atleast one recipient based on an indication of information associatedwith a tangible object is shown. The method includes receiving anindication of information associated with a tangible object at Block 400and receiving a user input via the tangible object selecting data atBlock 410. The method further includes determining, via a processor, atleast one recipient based on the indication received at Block 420 andproviding for the data selected to be shared with the at least onerecipient in response to receipt of the indication and selection of thedata, as described above, at Block 430. In some cases, providing for thedata selected to be shared includes communicating with a server inresponse to receipt of the indication at Block 440, where the at leastone recipient is accessible via the server based on the indication.

As described in the examples provided above, the at least one recipientmay be related to a particular program. For example, the at least onerecipient may be associated with an e-mail address or with a socialnetworking account. In other cases, the at least one recipient may beassociated with a tangible object. The at least one recipient may beassociated with a distribution list managed by a user of a tangibleobject.

Still another embodiment of a method for providing for determination ofan operation to be executed and providing for association of theoperation with a tangible object is provided in FIG. 14. According toembodiments of the method, an identification of a selection of contentis received at Block 500. The method further includes providing, via aprocessor, for determination of an operation to be executed based on theidentification at Block 510 and providing, via a processor, forassociation of the operation to be executed with a tangible object atBlock 520. In this way, subsequent user input applied via the tangibleobject to the same device that provided for the determination of theoperation and/or the association, or to a different device, causesexecution of the operation, as described above.

In some cases, the method further comprises providing for determinationof a type of the content selected at Block 530, where the operation tobe executed is determined based on the type of content. The type ofcontent may be associated with a predefined operation. The method mayfurther include entering a training mode at Block 540, where providingfor determination of the operation to be executed and providing forassociation of the operation to be executed with the tangible objectoccurs in response to entry into the training mode, as described in theexamples provided above. In some embodiments, providing fordetermination of the operation may comprise communicating theidentification or information derived from the identification to aserver at Block 550. Similarly, providing for association of theoperation with the tangible object may comprise communicating theidentification or information derived from the identification to aserver at Block 560.

In some embodiments, certain ones of the operations above may bemodified or further amplified as described below. Furthermore, in someembodiments, additional optional operations may be included, someexamples of which are shown in dashed lines in FIGS. 12-14.Modifications, additions, or amplifications to the operations above maybe performed in any order and in any combination.

In an example embodiment, an apparatus for performing the methods ofFIGS. 12-14 above may comprise a processor (e.g., the processor 70 ofFIG. 2) configured to perform some or each of the operations (300-560)described above. The processor may, for example, be configured toperform the operations (300-560) by performing hardware implementedlogical functions, executing stored instructions, or executingalgorithms for performing each of the operations. Alternatively, theapparatus may comprise means for performing each of the operationsdescribed above. In this regard, according to an example embodiment,examples of means for performing at least portions of operations 300,340, 350, 400, 440, 550, and 560 may comprise, for example, thecommunication interface 74, the processor 70, and/or a device or circuitfor executing instructions or executing an algorithm for processinginformation as described above. Examples of means for performingoperations 310, 430, 510, 520, and 530 may comprise, for example, theprocessor 70, the communication interface 74, the memory device 76,and/or a device or circuit for executing instructions or executing analgorithm for processing information as described above. Examples ofmeans for performing operations 320 and 410 may comprise, for example,the user interface transceiver 72, the processor 70, and/or a device orcircuit for executing instructions or executing an algorithm forprocessing information as described above. Examples of means forperforming operation 420 may comprise, for example, the processor 70,the memory device 76, and/or a device or circuit for executinginstructions or executing an algorithm for processing information asdescribed above. Examples of means for performing operations 330 and 500may comprise, for example, the user interface transceiver 72, thecommunication interface 74, the memory device 76, the processor 70,and/or a device or circuit for executing instructions or executing analgorithm for processing information as described above. Moreover,examples of means for performing at least portions of operation 540 maycomprise, for example, the processor 70 and/or a device or circuit forexecuting instructions or executing an algorithm for processinginformation as described above.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Moreover, although the foregoing descriptions and the associateddrawings describe example embodiments in the context of certain examplecombinations of elements and/or functions, it should be appreciated thatdifferent combinations of elements and/or functions may be provided byalternative embodiments without departing from the scope of the appendedclaims. In this regard, for example, different combinations of elementsand/or functions than those explicitly described above are alsocontemplated as may be set forth in some of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

What is claimed is:
 1. An apparatus comprising at least one processorand at least one memory including computer program code, the at leastone memory and the computer program code configured to, with theprocessor, cause the apparatus to at least: receive a signal transmittedby a tangible object, wherein the signal includes information describingat least one recipient that has been pre-associated with the tangibleobject, wherein the tangible object is a digital pen; receive a userinput applied to a user device via the tangible object selecting data,wherein receipt of the user input is independent of receipt of thesignal; determine the at least one recipient based on the information inthe signal received; and provide for the data selected to be shared withthe at least one recipient, such that the data is shared with the atleast one recipient in response to selection of the data without furtheruser input, wherein pre-association of the tangible object with the atleast one recipient allows the tangible object to be used to apply theuser input to any of a plurality of user devices such that the selecteddata is shared with the at least one recipient in response to theselection of the data without further user input.
 2. The apparatus ofclaim 1, wherein the memory and computer program code are configured to,with the processor, cause the apparatus to communicate with a server inresponse to receipt of the signal, wherein the at least one recipient isaccessible via the server based on the information in the signal.
 3. Theapparatus of claim 1, wherein the at least one recipient is related to aparticular program.
 4. The apparatus of claim 3, wherein the at leastone recipient is associated with an e-mail address.
 5. The apparatus ofclaim 3, wherein the at least one recipient is associated with a socialnetworking account.
 6. The apparatus of claim 1, wherein the at leastone recipient is associated with the tangible object.
 7. The apparatusof claim 1, wherein the at least one recipient is associated with adistribution list managed by a user of the tangible object.
 8. A methodcomprising: receiving a signal transmitted by a tangible object, whereinthe signal includes information describing at least one recipient thathas been pre-associated with the tangible object, wherein the tangibleobject is a digital pen; receiving a user input applied to a user devicevia the tangible object selecting data, wherein receipt of the userinput is independent of receipt of the signal; determining, via aprocessor, the at least one recipient based on the information in thesignal received; and providing for the data selected to be shared withthe at least one recipient, such that the data is shared with the atleast one recipient in response to selection of the data without furtheruser input, wherein pre-association of the tangible object with the atleast one recipient allows the tangible object to be used to apply theuser input to any of a plurality of user devices such that the selecteddata is shared with the at least one recipient in response to theselection of the data without further user input.
 9. The method of claim8, wherein providing for the data selected to be shared furthercomprises communicating with a server in response to receipt of thesignal, wherein the at least one recipient is accessible via the serverbased on the information in the signal.
 10. The method of claim 8,wherein the at least one recipient is related to a particular program.11. The method of claim 10, wherein the at least one recipient isassociated with an e-mail address.
 12. The method of claim 10, whereinthe at least one recipient is associated with a social networkingaccount.
 13. The method of claim 8, wherein the at least one recipientis associated with the tangible object.
 14. The method of claim 8,wherein the at least one recipient is associated with a distributionlist managed by a user of the tangible object.
 15. A computer programproduct comprising at least one non-transitory computer-readable storagemedium having computer-executable program code portions stored therein,the computer-executable program code portions comprising program codeinstructions for: receiving a signal transmitted by a tangible object,wherein the signal includes information describing at least onerecipient that has been pre-associated with the tangible object, whereinthe tangible object is a digital pen; receiving a user input applied toa user device via the tangible object selecting data, wherein receipt ofthe user input is independent of receipt of the signal; determining theat least one recipient based on the information in the signal received;and providing for the data selected to be shared with the at least onerecipient, such that the data is shared with the at least one recipientin response to selection of the data without further user input, whereinpre-association of the tangible object with the at least one recipientallows the tangible object to be used to apply the user input to any ofa plurality of user devices such that the selected data is shared withthe at least one recipient in response to the selection of the datawithout further user input.
 16. The computer program product of claim15, wherein the program code instructions for providing for the dataselected to be shared further comprise program code instructions forcommunicating with a server in response to receipt of the signal,wherein the at least one recipient is accessible via the server based onthe information in the signal.
 17. The computer program product of claim15, wherein the at least one recipient is related to a particularprogram.
 18. The computer program product of claim 17, wherein the atleast one recipient is associated with an e-mail address or the at leastone recipient is associated with a social networking account.
 19. Thecomputer program product of claim 15, wherein the at least one recipientis associated with the tangible object.
 20. The computer program productof claim 15, wherein the at least one recipient is associated with adistribution list managed by a user of the tangible object.